home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 090 / bowling.arc / ISTATS.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1985-07-12  |  2.8 KB  |  58 lines

  1. 5  DEFINT A-Z:DIM N$(500),GG(500,4):
  2. 7  CLS:PRINT"THE .IND DATA FILE MUST BE ON DRIVE B:":PRINT:INPUT"Enter League Name ";FL$:INPUT"How many games per match ";C3
  3. 10  CLS:PRINT TAB(34)"=  I S T A T S  =":PRINT:PRINT:PRINT:PRINT,,"1.  Print Single Stat Sheet":PRINT,,"2.  Print Entire League Stat Sheets":PRINT,,"3.  Change a name":PRINT,,"4.  Change Scores":PRINT
  4. 15  PRINT,,;:INPUT"SELECTION ";X:ON X GOTO 30,50,70,90
  5. 30  INPUT"Enter name of bowler";N$:N=1:GOSUB 900
  6. 35  INPUT#1,N$(N),DT$:FOR Y=1 TO C3:INPUT#1,GG(N,Y):NEXT
  7. 40  IF INSTR(1,N$(N),N$) THEN N$(N)=N$(N)+DT$:N=N+1:PRINT N
  8. 42  IF EOF(1) THEN N=N-1:CLOSE ELSE GOTO 35
  9. 43  IF N=0 THEN PRINT"NAME NOT FOUND":GOTO 15 ELSE GOSUB 1000
  10. 44  PRINT"Done sorting...":GOSUB 300:GOTO 10
  11. 49  ' * * DO ENTIRE FILE
  12. 50  FOR LR=65 TO 90 STEP 3:HR=LR+3:GOSUB 900:N=1:PRINT"SEARCHING ";CHR$(LR);"-";CHR$(HR-1):GOSUB 100
  13. 55  GOSUB 1000' * SORT ARRAY
  14. 60  GOSUB 300'  * PRINT ARRAY
  15. 65  NEXT LR:GOTO 10
  16. 70  INPUT"Enter name to search for";NO$:INPUT"What name do you wish to change this to";NN$
  17. 75  GOSUB 900:OPEN"O",2,"A:"+FL$+".TMP"
  18. 77  INPUT#1,N$,DT$:FOR Y=1 TO C3:INPUT#1,G(Y):NEXT:IF N$=NO$ THEN N$=NN$
  19. 79  PRINT#2,N$;",";DT$:FOR Y=1 TO C3:PRINT#2,G(Y):NEXT
  20. 80  IF EOF(1) THEN CLOSE ELSE GOTO 77
  21. 82  OPEN"I",2,"A:"+FL$+".TMP":OPEN"O",1,"B:"+FL$+".IND"
  22. 84  INPUT#2,N$,DT$:FOR Y=1 TO C3:INPUT#2,G(Y):NEXT:PRINT#1,N$;",";DT$:FOR Y=1 TO C3:PRINT#1,G(Y):NEXT
  23. 85  IF NOT EOF(2) THEN 84
  24. 86  CLOSE:GOTO 10
  25. 90  INPUT"Enter name to find";N1$:INPUT"Enter bowling date (MMDDYY) Numbers ONLY please";D1$:IF LEN(D1$)<>6 THEN PRINT"DATE INCORRECT":GOTO 90 ELSE D1$=RIGHT$(D1$,2)+LEFT$(D1$,4)
  26. 92  GOSUB 900:GOSUB 910
  27. 94  INPUT#1,N$,DT$:FOR Y=1 TO C3:INPUT#1,G(Y):NEXT:IF N$<>N1$ OR DT$<>D1$ THEN GOTO 96
  28. 95  PRINT"CURRENT",N$;:FOR Y=1 TO C3:PRINT G(Y);:NEXT:PRINT:FOR Y=1 TO C3:PRINT"Enter correct score #";Y:INPUT G(Y):NEXT
  29. 96  PRINT#2,N$;",";DT$:FOR Y=1 TO C3:PRINT#2,G(Y):NEXT:IF EOF(1) THEN CLOSE ELSE GOTO 94
  30. 97  GOSUB 920:GOSUB 930
  31. 98  INPUT#2,N$,DT$:PRINT#1,N$;",";DT$:FOR Y=1 TO C3:INPUT#2,G(Y):PRINT#1,G(Y):NEXT:IF EOF(2) THEN CLOSE:GOTO 10 ELSE GOTO 98
  32. 99  '* * READ FROM FILE * *
  33. 100  INPUT#1,N$(N),DT$:FOR Y=1 TO C3:INPUT#1,GG(N,Y):NEXT
  34. 110  IF ASC(N$(N))=>LR AND ASC(N$(N))<HR THEN N$(N)=N$(N)+DT$:N=N+1:PRINT N
  35. 120  IF EOF(1) THEN N=N-1:CLOSE:RETURN ELSE GOTO 100
  36. 299  '* * PRINT ROUTING * *
  37. 300  X=1:GOSUB 390:FOR X=1 TO N:S=0:L=LEN(N$(X)):N$=LEFT$(N$(X),L-6):DT$=RIGHT$(N$(X),6):IF FLAG$<>N$ THEN LPRINT CHR$(12):GOSUB 390
  38. 310  T=13:LPRINT MID$(DT$,3,2);"/";RIGHT$(DT$,2);"/";LEFT$(DT$,2);:FOR Y=1 TO C3:S=S+GG(X,Y):IF GG(X,Y)>0 THEN G=G+1
  39. 315  T=T+6:LPRINT TAB(T) USING"###";GG(X,Y);:IF GG(X,Y)>HG THEN HG=GG(X,Y)
  40. 320  NEXT Y:TP=TP+S:AV=FIX(TP/G):IF S>HS THEN HS=S
  41. 330  LPRINT TAB(45) USING"###   ##,###  ###   ###   ###  ####";S;TP;G;AV;HG;HS
  42. 340  NEXT X:LPRINT CHR$(12):RETURN
  43. 390  TP=0:G=0:AV=0:HG=0:HS=0
  44. 392  FLAG$=LEFT$(N$(X),LEN(N$(X))-6):T=13:LPRINT FLAG$:LPRINT:LPRINT FL$:LPRINT
  45. 394  FOR Z=1 TO C3:T=T+6:LPRINT TAB(T) Z;:NEXT:LPRINT TAB(45)"SER    TPINS  GMS   AVG    HG    HS":LPRINT STRING$(79,"-")
  46. 398  RETURN
  47. 900  OPEN"I",1,"B:"+FL$+".IND":RETURN
  48. 910  OPEN"O",2,"A:TEMP":RETURN
  49. 920  OPEN"I",2,"A:TEMP":RETURN
  50. 930  OPEN"O",1,"B:"+FL$+".IND":RETURN
  51. 1000  PRINT"Sorting...":G=N
  52. 1010  IF G<=1 THEN 1070
  53. 1020  G=FIX(G/2):M=N-G
  54. 1030  F=0:FOR I=1 TO M:P=I+G:IF N$(P)>=N$(I) THEN 1050
  55. 1040  SWAP N$(I),N$(P):FOR Y=1 TO C3:SWAP GG(I,Y),GG(P,Y):NEXT Y:F=1
  56. 1050  NEXT I:IF F>0 THEN 1030 ELSE 1010
  57. 1070  RETURN
  58.